home *** CD-ROM | disk | FTP | other *** search
/ World of Education / World of Education.iso / world_a / 386_bugs.zip / POPAD.DOC < prev    next >
Text File  |  1993-06-18  |  1KB  |  27 lines

  1. 1. POPAD bug.  Most 386 processors have this bug.  Intel corrected it in
  2.    the later revisions of its 386.  All AMD 386 processors have the bug,
  3.    as far as I know.
  4.  
  5.    The POPAD bug is a bit of a misnomer, and is hardly ever a problem.
  6.    If the instruction POPA or POPAD is followed by certain MOV
  7.    instructions, the AX or EAX register (respectively) will contain
  8.    zero.  Most programmers only use POPA/POPAD at the end of a
  9.    subroutine; therefore, it is usually followed by a RET instruction.
  10.    This will not invoke the bug.  In addition, most programmers know
  11.    about this bug, and will not code routines that invoke it.
  12.  
  13. 2. MUL bug.  I have never seen this bug personally, but it's rumored
  14.    that some very old Intel 386 processors will return unpredictable
  15.    results when 32-bit operands are used with the MUL instruction.  AMD
  16.    386 processors do not have this bug.
  17.  
  18. 3. POPCS bug.  This is not really a bug, but I included it here for
  19.    completeness.  Some ill-behaved software uses the "POP CS"
  20.    instruction.  Intel lists this instruction as invalid, but it works
  21.    on the 8088/8086. 286 and higher processors use this instruction
  22.    (0Fh) as a prefix for their extended instructions, and will produce
  23.    unexpected results if used as a "POP CS".  I've only heard of one
  24.    program that uses this instruction.  It is one of the older viruses,
  25.    and it did not spread very well due to the fact that it crashed 286+
  26.    machines.
  27.